package JavaSE;

import java.util.Random;
import java.util.Scanner;

public class time20250418_逻辑控制语句练习 {
    public static void main(String[] args) {
//    /*2.	switch-case 练习
//        •	编写一个Java程序，根据用户输入的月份，输出该月的天数（不考虑闰年）。
//        •	编写一个Java程序，实现一个简单的命令行菜单，用户可以选择不同的选项执行不同的操作（例如，1. 计算 2. 转换 3. 退出）。
//        */
//        int day = 4;
//        String dayType;
//        switch(day){
//            case 1:
//            case 2:
//            case 3:
//            case 4:
//            case 5:
//                dayType = "工作日";
//                break;
//            case 6:
//            case 7:
//                dayType = "周末";
//            default:
//                dayType = "无效的日子";
//        }
//        System.out.println("今天是:"+dayType);
////从Java 12开始，还引入了switch表达式，可以使用->来简化代码，并且可以返回值。例如：
//        int day = 4;
//        String result = switch(day){
//            case 1,2,3,4,5 ->"工作日";
//            case 6,7 ->"周末";
//            default -> "无效的日子";
//        };
//        System.out.println("今天是:"+result);
    String name = "佳敏";

        //for循环练习:水仙花数
        //打印出所有水仙花数
        /*水仙花数（Narcissistic number）也被称为自恋数、自幂数、阿姆斯壮数（Armstrong number），它是一个3位数，该数字每个位上数字的立方之和正好等于它本身，
        例如：1^3+5^3+3^3=153
        */
//        int temp = 0;
//        for(int i = 100;i <=1000;i++){
//            int sum = 0;
//            temp = i;
////            System.out.println(temp);
//            while(i>0){
//                sum += i%10;
//                i = i/10;
//            }
////            System.out.println(temp);
////            System.out.println(i);
//            if(sum == temp){
//                System.out.println(temp);
//            }
//        }

    /*4.	while 循环练习
        •	编写一个Java程序，使用while循环实现一个简单的猜数字游戏，程序随机生成一个54到110之间的整数，用户有10次机会猜测这个数字。
        •	编写一个Java程序，使用while循环计算并输出一个整数（例如1234）的每一位数字之和。
        */
        //编写一个Java程序，使用while循环实现一个简单的猜数字游戏，程序随机生成一个54到110之间的整数，用户有10次机会猜测这个数字。
//        Random random = new Random();
//        //int result = random(1,101);Random的随机数生成方法是错误的
//        int result = random.nextInt(57)+54;
//        //System.out.println(result);
//        Scanner scanner = new Scanner(System.in);
//        int count = 10;
//        while(count<=10){
//            int user_gess = scanner.nextInt();
//            if(user_gess==result){
//                System.out.println("您猜对了！恭喜！");
//                break;
//            }else{
//                System.out.println("您猜错了，还有"+(count-1)+"次机会，请重新输入！");
//            }
//            count--;
//        }


//        //编写一个Java程序，使用while循环计算并输出一个整数（例如1234）的每一位数字之和。
//        int sum = 0;
//        Scanner scanner = new Scanner(System.in);
//        int num = scanner.nextInt();
//        //int temp = 0;
//        while(num>0){
//            sum += num%10;
//            num = num/10;
//        }
//        System.out.println(sum);

    /*5.	do-while 循环练习
        •	编写一个Java程序，使用do-while循环提示用户输入一个正整数，然后计算并输出从1到该整数的所有整数的和。
        •	编写一个Java程序，使用do-while循环实现一个用户登录验证的功能，用户有三次机会输入正确的用户名和密码。
        */


    /*6.	嵌套循环练习
        •	编写一个Java程序，使用嵌套循环打印出一个10x10的乘法表。
        •	编写一个Java程序，使用嵌套循环找出所有的“水仙花数”（一个n位数，它的每个位上的数字的n次幂之和等于它本身，例如153是一个3位数，且153 = 1^3 + 5^3 + 3^3）。
        */

    /*7.	逻辑控制综合练习
        •	编写一个Java程序，使用逻辑控制结构（if-else和循环）实现一个简单的计算器，可以连续进行加、减、乘、除运算，直到用户选择退出。
        •	编写一个Java程序，使用逻辑控制结构（if-else和循环）找出一个整数数组中的最大值和最小值，并输出它们的位置。*/
    }
}
